<?php

session_start();
require_once '../src/MyDBi.php';
$db = new MysqliDb();

$type = $_POST["type"];

if ($type == 1) {
    // Inserta
    $checkin = $_POST["checkin"];
    $checkout = $_POST["checkout"];
    $idcliente = $_POST["idcliente"];
    $idusuario = $_POST["idusuario"];
    $idroom = $_POST["idroom"];
    $cantidad = 5;
    $idregistracion = $_POST["idregistracion"];

//    $query = $con->insertInto("registracionesclientes", $fields = array(
//        "IdRegistracion" => $idregistracion,
//        "Checkin" => $checkin,
//        "CheckoutEsperado" => $checkout,
//        "CheckoutReal" => "1900-01-01",
//        "IdCliente" => $idcliente,
//        "IdUsuario" => $idusuario,
//        "IdRoom" => $idroom,
//        "CantDias" => $cantidad));
//
//    print_r($query["sql"]);

    $data = array(
        "IdRegistracion" => $idregistracion,
        "Checkin" => $checkin,
        "CheckoutEsperado" => $checkout,
        "CheckoutReal" => "1900-01-01",
        "IdCliente" => $idcliente,
        "IdUsuario" => $idusuario,
        "IdRoom" => $idroom,
        "CantDias" => $cantidad);

    $id = $db->insert('registracionesclientes', $data);



//    $result = $query["status"];
    if ($id) {
        echo 'Dato guardado con éxito';
    } else {
        echo "El dato no ha sido guardado";
    }
} elseif ($type == 0) {
    // Búsqueda todas las reservas por año y mes

    $ano = $_POST["ano"];
    $dia = (strlen($_POST["dia"]) == 1) ? "0" . $_POST["dia"] : $_POST["dia"];
    $mes = (strlen($_POST["mes"]) == 1) ? "0" . $_POST["mes"] : $_POST["mes"];


    $SQL = "SELECT * FROM  `registracionesclientes` "
            . "INNER JOIN clientes ON clientes.IdCliente = registracionesclientes.IdCliente "
            . "WHERE ((SUBSTRING( Checkin, -10, 4 ) =  '" . $ano . "' "
            . "AND SUBSTRING( Checkin, -5, 2 ) =  '" . $mes . "') "
            . "OR  (SUBSTRING( Checkin, -10, 4 ) =  '" . $ano . "' "
            . "AND SUBSTRING( Checkin, -5, 2 ) !=  SUBSTRING( (IF(CheckoutReal='1900-01-01',CheckoutEsperado,CheckoutReal)), -5, 2 ) "
            . "AND SUBSTRING( (IF(CheckoutReal='1900-01-01',CheckoutEsperado,CheckoutReal)), -5, 2 ) =  '" . $mes . "')) "
//            . "AND (str_to_date((IF(CheckoutReal='1900-01-01',CheckoutEsperado,CheckoutReal)), '%Y-%m-%d')>str_to_date(now(), '%Y-%m-%d')) "
            . "ORDER BY registracionesclientes.idRegistracion ";
    $result = $db->rawQuery($SQL);

    //print_r($query);
    $lista = array();
    if ($db->count > 0) {
        foreach ($result as $row) {


            $param = "" . $row["IdRegistracion"] . " " . $row["Checkin"] . " " . $row["CheckoutEsperado"] . " " . $row["IdCliente"] . " "
                    . $row["CheckoutReal"] . " " . $row["IdRoom"] . " " . $row["CantDias"] . " " . $row["Nombre"] . " " . $row["Apellido"] . "";

            array_push($lista, $param);
        }
        echo json_encode($lista);
    }
} elseif ($type == 2) {
    // Borra
    $id = $_POST["id"];
    //$query = $con->deleteFrom("clientes", $where = array("IdCliente" => $id), $like = false, $limit = 1);
    $db->where('IdReserva', $id);
    $db->update("registraciones", $fields = array("Status" => 0));

    //print_r($query['sql']);
    if ($db->count > 0) {
        echo 'Dato borrado con éxito';
    } else {
        echo "El dato no ha sido borrado";
    }
} elseif ($type == 3) {
    // Modificar
    $id = $_POST["id"];
    $checkin = $_POST["checkin"];
    $checkout = $_POST["checkout"];
    $idcliente = $_POST["idcliente"];
    $idusuario = $_POST["idusuario"];
    $idorigenreserva = $_POST["idorigenreserva"];
    $idroom = $_POST["idroom"];
    $cantidad = $_POST["cantidad"];
    $status = $_POST["status"];

    $db->where("IdReserva", $id);
    $db->update("clientes", $fields = array(
        "Checkin" => $checkin,
        "Checkout" => $checkout,
        "IdCliente" => $idcliente,
        "IdUsuario" => $idusuario,
        "IdOrigenReserva" => $idorigenreserva,
        "IdRoom" => $idroom,
        "Cantidad" => $cantidad,
        "Status" => $status));

    if ($db->count > 0) {
        echo 'Dato guardado con éxito';
    } else {
        echo "El dato no ha sido guardado";
    }
} elseif ($type == 4 || $type == 6) {
    // busqueda por id

    $id = $_POST["id"];

    $SQL = "SELECT r.IdCliente, Nombre, Apellido, Checkin, CheckoutEsperado, CheckoutReal, IdRoom "
            . "FROM  registracionesclientes r INNER JOIN clientes c ON "
            . "r.IdCliente = c.IdCliente WHERE IdRegistracion = " . $id;
//    $query = $con->customSelectFrom($SQL);
    $result = $db->rawQuery($SQL);

//    $result = $query["result"];
    if ($db->count > 0) {
        if ($type == 4) {
            echo '<form method="post" action="content.php" >';
            echo '<table>';
            foreach ($result as $row) {
                echo '<tr><td> <b>Cliente:</b> ' . $row["Nombre"] . " " . $row["Apellido"] . '</td></tr>';
                echo '<tr><td> <b>Checkin:</b> ' . $row["Checkin"] . '</td></tr>';
                echo '<tr><td> <b>Checkout:</b> ' . $row["CheckoutEsperado"] . '</td></tr>';
            }
            echo '<tr><td colspan="2"><input type="submit" name="cancelarDeudaRegistraciones" value="Cancelar Deuda"></td></tr>';
            echo '</table>';
            echo '</form>';
        } else {
            $row = $result[0];
            echo implode(" ", $row);
        }
    }
} else if ($type == 5) {
    // Guardo el encabezado de la registración
    // Update de reserva para pasarla a baja - Estado 2
    // Inserta
    $idreserva = $_POST["idreserva"];
    $idusuario = $_POST["idusuario"];


    $data = array(
        "IdReserva" => $idreserva,
        "IdUsuario" => $idusuario);

    $id = $db->insert('registraciones', $data);



//    $result = $query["status"];
//    $query = $con->insertInto("registraciones", $fields = array(
//        "IdReserva" => $idreserva,
//        "IdUsuario" => $idusuario));
//
//    //print_r($query["sql"]);
//
//    $result = $query["status"];
    $insertedRegistracion = $id;

    if ($idreserva != -1) {
        //$query = $con->deleteFrom("clientes", $where = array("IdCliente" => $id), $like = false, $limit = 1);
        $data = array("Status" => 2);
        $db->where('IdReserva', $idreserva);
        $db->update('reservas', $data);

//        $query = $con->updateTable("reservas", $fields = array("Status" => 2), $where = array("IdReserva" => $idreserva), $like = false, $limit = 1);
//        $result = $query["status"];
    }

    if ($id) {
        echo $insertedRegistracion;
    } else {
        echo "El dato no ha sido guardado";
    }
}
?>